package day05;

import java.util.*;

/**
 *创建一个Map，保存某个学生的成绩:
 *在控制台输入该学生成绩，格式:
 *科目:成绩;科目:成绩;...
 *例如:  
 *语文:99;数学:98;英语:97;物理:96;化学:95
 *然后输出物理的成绩。
 *然后将化学的成绩设置为96
 *然后删除英语这一项。
 *然后遍历该Map分别按照遍历key，Entry，value
 *的形式输出该Map信息。
 * @author Bonnie
 *
 */
public class Test04 {
    public static void main(String[] args) {
        // *创建一个Map，保存某个学生的成绩:
        Map<String, Integer> scores = new HashMap<>();
        // *在控制台输入该学生成绩，格式:
        // *科目:成绩;科目:成绩;...
        // *例如:
        // *语文:99;数学:98;英语:97;物理:96;化学:95
        System.out.println("请输入依次输入各科成绩,格式为(科目:成绩;科目:成绩;....");
        Scanner scanner = new Scanner(System.in);
        String[] strings = scanner.nextLine().split(";");
        for (String s : strings){
            String[] strings1 = s.split(":");
            scores.put(strings1[0], Integer.parseInt(strings1[1]));
        }
        // *然后输出物理的成绩。
        System.out.println("物理成绩为: " + scores.get("物理"));
        // *然后将化学的成绩设置为96
        scores.put("化学", 96);
        System.out.println(scores);
        // *然后删除英语这一项。
        scores.remove("英语");
        System.out.println(scores);
        // *然后遍历该Map分别按照遍历key，Entry，value
        // *的形式输出该Map信息。
        Iterator<String> itKey = scores.keySet().iterator();
        Iterator<Map.Entry<String, Integer>> itEntry = scores.entrySet().iterator();
        Iterator<Integer> itValue = scores.values().iterator();
        //key
        System.out.println("Key遍历");
        while (itKey.hasNext()){
            System.out.print(itKey.next() + "  ");
        }
        System.out.println();
        System.out.println("Entry遍历");
        //entry
        while (itEntry.hasNext()){
            System.out.print(itEntry.next() + "  ");
        }
        System.out.println();
        System.out.println("value遍历");
        //value
        while (itValue.hasNext()){
            System.out.print(itValue.next() + "  ");
        }

    }

}
